package cn.xshi.actuator.model;
import lombok.Data;

/**
 * @Desc
 * JStack命令用于打印指定Java进程、核心文件或远程调试服务器的Java线程的Java堆栈跟踪信息[1]。
 * JStack命令可以生成JVM当前时刻的线程快照。线程快照是当前JVM内每一条线程正在执行的方法堆栈的集合，生成线程快照的主要目的是定位线程出现长时间停顿的原因，如线程间死锁、死循环、请求外部资源导致的长时间等待等。
 * 如果java程序崩溃生成core文件，jstack工具可以用来获得core文件的java stack和native stack的信息，从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。
 * 当指定的进程在64位Java虚拟机上运行时，可能需要指定-J-d64选项，例如:jstack -J-d64 -m pid。
 * @Author 邓纯杰
 * @CreateTime 2013-10-05 17:15:42
 */
@Data
public class JStack {
	private String id;
    private int total;
    private int runnable;
    private int timedWaiting;
    private int waiting;

    /**
     * 构造函数
     */
    public JStack(){

    }

    /**
     * 构造函数
     * @param id
     * @param total
     * @param runnable
     * @param timedWaiting
     * @param waiting
     */
    public JStack(String id, int total, int runnable, int timedWaiting, int waiting) {
        this.id = id;
        this.total = total;
        this.runnable = runnable;
        this.timedWaiting = timedWaiting;
        this.waiting = waiting;
    }
}
